﻿#include "qmessagebox_ex.h"
#include "qstring_ex/qstringex.h"
QMessageBox_Ex::QMessageBox_Ex(QString strTitle,QString strText,int sec,QWidget* parent):QMessageBox(parent)
{
	m_sec=sec;
	m_count=0;
	m_text=strText;
	setWindowTitle(strTitle);
	QString tempText=QStringEx::fromLocal8Bit("%1,窗口将在 %2 秒后关闭")
		.arg(m_text)
		.arg(m_sec-m_count);
	setText(tempText);

	btn_ok=addButton(QStringEx::fromLocal8Bit("确定"),QMessageBox::AcceptRole);
	connect(&m_timer,SIGNAL(timeout()),this,SLOT(OnTimer()));
	m_timer.start(1000);
}

QMessageBox_Ex::~QMessageBox_Ex()
{
	m_timer.stop();
}

void QMessageBox_Ex::OnTimer()
{
	m_timer.stop();
	m_count++;
	if (m_count<m_sec)
	{
		QString strText=QStringEx::fromLocal8Bit("%1,窗口将在 %2 秒后关闭")
			.arg(m_text)
			.arg(m_sec-m_count);
		setText(strText);
		m_timer.start();
	}else
	{
		this->accept();
	}
}
